package com.xbongbong.saas.domain.entity;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xbongbong.paas.toolbox.util.DateTimeUtil;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;

/**
 * @author long.rao
 * @version v1.0
 * @date 2019/2/1 14:18
 * @since v1.0
 */
@Setter
@Getter
@ToString
public class BomProductEntity extends BusinessUnitProductEntity implements Serializable {
    private static final long serialVersionUID = 806477018751088141L;
    /**
     *
     */
    private Long id;
    /**
     *
     */
    private String corpid;
    /**
     * 关联bom单id
     */
    private Long bomId;
    /**
     * 产品id 成品或物料
     */
    private Long parentId;
    /**
     * 产品id 成品或物料
     */
    private Long productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 产品编号（父产品编号）
     */
    private String productNo;
    /**
     * 产品规格
     */
    private String productSpecification;
    /**
     * 产品单位
     */
    private String productUnit;
    /**
     * 成品数量/物料数量
     */
    private Double productNum;
    /**
     * 产品备注
     */
    private String memo;
    /**
     * 1成品 2物料
     */
    private Integer type;
    /**
     * 物料损耗率 >=0，<100的数字 默认0
     */
    private Double attritionRate;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 创建时间
     */
    private Long addTime;
    /**
     * 更新时间
     */
    private Long updateTime;
    /**
     * 删除标记
     */
    private Integer del;
    /**
     * 图片
     */
    private String imageUrl;
    /**
     * 分类
     */
    private Long categoryId;
    /**
     * 条形码
     */
    private String barcode;
    /**
     * 产品父id
     */
    private Long parentProductId;
    /**
     * 导出时关联产品的规格
     */
    private String formatedSpecification;
    /**
     *  产品图片
     */
    private JSONArray imageUrlArray;
    /**
     * 自定义字段
     */
    private JSONObject data;

    public BomProductEntity (){
        long now = DateTimeUtil.getInt();
        this.corpid = "";
        this.productId = 0L;
        this.productName = "";
        this.productNo = "";
        this.productSpecification = "";
        this.productNum = 0D;
        this.memo = "";
        this.productUnit = "";
        this.formatedSpecification = "";
        this.attritionRate = 0D;
        this.sort = 0;
        this.addTime = now;
        this.updateTime = now;
        this.del = 0;
    }
}
